QMessageBox.about(self , title , text) : 顯示一些關於應用程式的訊息,如版本資訊、版權聲明等。這個方法不會提供回應選項,僅有一個確認按鈕。下面範例是點擊按鈕,會跳出對話框。
from PySide6.QtWidgets import QMainWindow , QApplication, QWidget, QPushButton, QVBoxLayout, QMessageBox
class MyWindow(QWidget):
def __init__(self):
super().__init__()
btn = QPushButton("按鈕",self)
btn.clicked.connect(self.btnClicked)
def btnClicked(self):
QMessageBox.about(self, "我是標題", "我是內容")
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec()
QMessageBox.information(self , title , text , QMessageBox.button) : 顯示使用者一些資訊。對話框中可以設置按鈕選項。button 要使用 QMessage.選項。下面範例是點擊按鈕,會跳出對話框,對話框會有 Yes 和 No 兩個選項。
from PySide6.QtWidgets import QMainWindow , QApplication, QWidget, QPushButton, QVBoxLayout, QMessageBox
class MyWindow(QWidget):
def __init__(self):
super().__init__()
btn = QPushButton("按鈕",self)
btn.clicked.connect(self.btnClicked)
def btnClicked(self):
QMessageBox.question(self, "我是標題", "我是內容", QMessageBox.Yes | QMessageBox.No)
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec()
QMessageBox.critical(self , title , text , QMessageBox.button) : 錯誤訊息對話框,通常用來提示發生了嚴重錯誤。對話框中會帶有一個錯誤圖示,可以設置按鈕選項。QMessageBox.critical(self, "我是標題", "我是內容", QMessageBox.Yes | QMessageBox.No)

QMessageBox.question(self , title , text , QMessageBox.button) : 詢問對話框,通常用來詢問使用者是否確認某個操作,可以設置按鈕選項。QMessageBox.question(self, "我是標題", "我是內容", QMessageBox.Yes | QMessageBox.No)

QMessageBox.warning(self , title , text , QMessageBox.button) : 警告訊息對話框,通常用來提示潛在的風險或警告。這個對話框帶有警告圖示,可以設置按鈕選項。QMessageBox.warning(self, "我是標題", "我是內容", QMessageBox.Yes | QMessageBox.No)

常用的按鈕 (QMessageBox.button) 選項
| 功能 | 方法 |
|---|---|
| 確認 | QMessageBox.Ok |
| 取消 | QMessageBox.Cancel |
| 是 | QMessageBox.Yes |
| 否 | QMessageBox.No |
| 重試 | QMessageBox.Retry |
| 忽略 | QMessageBox.Ignore |
| 關閉 | QMessageBox.Close |
| 幫助 | QMessageBox.Help |
| 套用 | QMessageBox.Apply |
| 儲存 | QMessageBox.Save |
| 重設 | QMessageBox.Reset |
除了使用上面的方法,也可以一個一個屬性設定。
setWindowTitle(str) : 設定對話框的標題。setText(str) : 設置對話框的內容文字。setIcon(QMessageBox.Icon) : 設置對話框的 Icon 圖案。setStandardButtons(QMessageBox.button) : 設置對話框的按鈕選項 。from PySide6.QtWidgets import QMainWindow , QApplication, QWidget, QPushButton, QVBoxLayout, QMessageBox
class MyWindow(QWidget):
def __init__(self):
super().__init__()
btn = QPushButton("按鈕",self)
btn.clicked.connect(self.btnClicked)
def btnClicked(self):
msg = QMessageBox(self)
msg.setWindowTitle("對話框") #設定文字
msg.setText("我是訊息") #設定顯示訊息
msg.setIcon(QMessageBox.Warning)
msg.setStandardButtons(QMessageBox.Ok|QMessageBox.No)
msg.exec() #顯示訊息框
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec()

當按下按鈕後,程式會顯示一個 QMessageBox 訊息對話框,並將使用者的回應儲存在 respond 變數中。如果使用者點擊了 Ok 按鈕,程式會列印出「你點擊了Ok」;如果使用者點擊了 No 按鈕,程式則會列印出「你點擊了No」。
from PySide6.QtWidgets import QMainWindow , QApplication, QWidget, QPushButton, QVBoxLayout, QMessageBox
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.resize(250, 250)
btn = QPushButton("按鈕")
btn.clicked.connect(self.btnClicked)
mainLayout = QVBoxLayout()
mainLayout.addWidget(btn)
self.setLayout(mainLayout)
def btnClicked(self):
respond = QMessageBox.information(self, "我是標題", "我是內容", QMessageBox.Ok | QMessageBox.No )
if respond == QMessageBox.Ok:
print("你點擊了Ok")
elif respond == QMessageBox.No:
print("你點擊了No")
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec()
| 方法 | 功能 |
|---|---|
| 訊息對話框 | QMessageBox.about(self , title , text) |
| 資訊對話框 | QMessageBox.information(self , title , text , QMessageBox.button) |
| 錯誤對話框 | QMessageBox.critical(self , title , text , QMessageBox.button) |
| 詢問對話框 | QMessageBox.question(self , title , text , QMessageBox.button) |
| 警告對話框 | QMessageBox.warning(self , title , text , QMessageBox.button) |
| 功能 | 方法 |
|---|---|
| 確認 | QMessageBox.Ok |
| 取消 | QMessageBox.Cancel |
| 是 | QMessageBox.Yes |
| 否 | QMessageBox.No |
| 重試 | QMessageBox.Retry |
| 忽略 | QMessageBox.Ignore |
| 關閉 | QMessageBox.Close |
| 幫助 | QMessageBox.Help |
| 套用 | QMessageBox.Apply |
| 儲存 | QMessageBox.Save |
| 重設 | QMessageBox.Reset |
| 功能 | 方法 |
|---|---|
| 設定對話框標題 | setWindowTitle(str) |
| 設定文字內容 | setText(str) |
| 設定Icon | setIcon(QMessageBox.Icon) |
| 設定按鈕 | setStandardButtons(QMessageBox.button) |